home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / Sample Code / Sample Editors⁄Viewers / Sound Editor / Source / SoundEditor.r < prev    next >
Encoding:
Text File  |  1995-12-11  |  15.6 KB  |  765 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        SoundEditor.r
  3.  
  4.     Contains:    SoundEditor Resources
  5.  
  6.     Written by:    Steve Smith
  7.  
  8.     Copyright:    © 1994,95 by Apple Computer, Inc., all rights reserved.
  9. */
  10.  
  11. #define SystemSevenOrBetter 1            // we want the extended types
  12. #define    SystemSevenOrLater    1            // Types.r uses this variable
  13.  
  14. // -- MPW Rez Includes --
  15.  
  16. #include "Types.r"
  17. #include "SysTypes.r"
  18. #include "CodeFragmentTypes.r"
  19.  
  20. // -- OpenDoc Includes --
  21.  
  22. #ifndef __ODTYPES_R__
  23. #include "ODTypes.r"
  24. #endif
  25.  
  26. #ifndef SOM_Module_OpenDoc_StdDefs_defined
  27. #include "StdDefs.xh"
  28. #endif
  29.  
  30. // -- Sound Editor Includes --
  31.  
  32. #ifndef _SOUNDEDITORDEF_
  33. #include "SoundEditorDef.h"
  34. #endif
  35.  
  36. #ifndef _SOUNDEDITORVERS_
  37. #include "SoundEditorVers.h"
  38. #endif
  39.  
  40. //------------------------------------------------------------------------------
  41. // .rsrc resources
  42. //------------------------------------------------------------------------------
  43.  
  44. // SoundEditor - This gets the resources from my .rsrc file (PICTs etc.)
  45. include "SoundEditorOtherResources.rsrc";
  46.  
  47. #include "SoundEditorAETE.r";
  48. #include "SoundEditorBalloons.r";
  49.  
  50. //------------------------------------------------------------------------------
  51. // Version Resources
  52. //------------------------------------------------------------------------------
  53.  
  54. resource 'vers' (1) 
  55. {
  56.     currentMajorVersion,
  57.     finderMinorVersion,
  58.     developmentStage,
  59.     preReleaseNumber,
  60.     verUS,
  61.     shortVersionStr,
  62.     shortVersionStr", © Apple Computer, Inc. 1994-1995"
  63. };
  64.  
  65. resource 'vers' (2) 
  66. {
  67.     currentMajorVersion,
  68.     finderMinorVersion,
  69.     developmentStage,
  70.     preReleaseNumber,
  71.     verUS,
  72.     "",
  73.     "OpenDoc™ Sample Code"
  74. };
  75.  
  76. //------------------------------------------------------------------------------
  77. // cfrg Resource
  78. //------------------------------------------------------------------------------
  79.  
  80. resource 'cfrg' (0) 
  81. {
  82.     {    /* [1] */
  83. #ifdef _68KBUILD_
  84.         kMotorola,
  85. #else
  86.         kPowerPC,
  87. #endif
  88.         kFullLib,
  89.         currentVersion,
  90.         compatibleVersion,
  91.         kDefaultStackSize,
  92.         kNoAppSubFolder,
  93.         kIsLib,
  94.         kOnDiskFlat,
  95.         kZeroOffset,
  96.         kWholeFork,
  97.         kSoundEditorID,        /* this must be the class ID */
  98.  
  99.         /* [2] */
  100. #ifdef _68KBUILD_
  101.         kMotorola,
  102. #else
  103.         kPowerPC,
  104. #endif
  105.         kFullLib,
  106.         currentVersion,
  107.         compatibleVersion,
  108.         kDefaultStackSize,
  109.         kNoAppSubFolder,
  110.         kIsLib,
  111.         kOnDiskFlat,
  112.         kZeroOffset,
  113.         kWholeFork,
  114.         kPartClassName        /* this must be the part class name */
  115.     }
  116. };
  117.  
  118. //------------------------------------------------------------------------------
  119. // NMAP Resources
  120. //------------------------------------------------------------------------------
  121.  
  122. // Map a part's kind (unique content identifier)
  123. // to a generic content category identifier
  124. resource kODNameMappings (kKindCategoryMapId) 
  125. {
  126.     kODKind,
  127.     {    /* array Types: 3 elements */
  128.         /* [1] */
  129.         kSoundEditorKind,
  130.         kODIsAnISOStringList
  131.         {
  132.             {    /* array ClassIDs: 1 elements */
  133.                 /* [1] */
  134.                 kODCategorySampledSound
  135.             }
  136.         }
  137.     }
  138. };
  139.  
  140. // Map a part's class id (module::classname)
  141. // to a part's kind (unique content identifier)
  142. resource kODNameMappings (kEditorKindMapId) 
  143. {
  144.     kODEditorKinds,
  145.     {    /* array Types: 3 elements */
  146.         /* [1] */
  147.         kSoundEditorID,
  148.         kODIsAnISOStringList
  149.         {
  150.             {
  151.                 kSoundEditorKind
  152.             }
  153.         }
  154.     }
  155. };
  156.  
  157. // Map a part's class id (module::classname)
  158. // to a human-readable string.
  159. resource kODNameMappings (kEditorUserStringMapId) 
  160. {
  161.     kODEditorUserString,
  162.     {    /* array Types: 1 elements */
  163.         /* [1] */
  164.         kSoundEditorID,
  165.         kODIsINTLText
  166.         {
  167.             smRoman,
  168.             langEnglish,
  169.             kSoundEditorUserString
  170.         }
  171.     }
  172. };
  173.  
  174. // Map a part's kind (unique content identifier)
  175. // to a human readable string.
  176. resource kODNameMappings (kKindUserStringMapId) 
  177. {
  178.     kODKindUserString,
  179.     {    /* array Types: 3 elements */
  180.         /* [1] */
  181.         kSoundEditorKind,
  182.         kODIsINTLText
  183.         {
  184.             smRoman,
  185.             langEnglish,
  186.             kSoundEditorKindUserString
  187.         }
  188.     }
  189. };
  190.  
  191. // Map a part's kind (unique content identifier)
  192. // to an old style MacOS Type (and/or ScrapType)
  193. resource kODNameMappings (kOldMacOSTypeMapId) 
  194. {
  195.     kODKindOldMacOSType,
  196.     {    /* array KeyList: 1 elements */
  197.         /* [1] */
  198.         kSoundEditorKind,
  199.         kODIsMacOSType {
  200.             kSoundEditorDocumentOSType
  201.         }
  202.     }
  203. };
  204.  
  205. // Map a part's class id (module::classname) to
  206. // the data/file OSTypes the part supports.
  207. resource kODNameMappings (kPlatformEditorKindMapId) 
  208. {
  209.     kODEditorPlatformKind,
  210.     {    /* array KeyList: 1 elements */
  211.         /* [1] */
  212.         kSoundEditorID,
  213.         kODIsPltfmTypeSpac 
  214.         {
  215.             /* array PltfmTypeSpacList: 2 elements */
  216.             {
  217.                 /* [1] */
  218.                 kODPlatformFileType, 
  219.                 kSoundFileKind,
  220.                 smRoman,
  221.                 langEnglish,
  222.                 kSoundFileKindUserString,
  223.                 kODCategorySampledSound,
  224.                 /* [2] */
  225.                 kODPlatformDataType, 
  226.                 kSoundDataKind,
  227.                 smRoman,
  228.                 langEnglish,
  229.                 kSoundDataKindUserString,
  230.                 kODCategorySampledSound,
  231.             }
  232.         }
  233.     }
  234. };
  235.  
  236. //------------------------------------------------------------------------------
  237. // String List Resources
  238. //------------------------------------------------------------------------------
  239.  
  240. resource 'STR#' (kMenuStringResID, "Menu Items strings") 
  241. {
  242.     {
  243.         /* [1] */
  244.         "About SoundEditor…",
  245.     }
  246. };
  247.  
  248. resource 'STR#' (kErrorStringResID, "Error strings") 
  249. {
  250.     {        
  251.         /* [1] */
  252.         "“SoundEditor” was unable to completely initialize it’s internal structures.",
  253.         
  254.         /* [2] */
  255.         "“SoundEditor” was unable to open the document due to unforseen circumstances.",
  256.         
  257.         /* [3] */
  258.         "“SoundEditor” was unable to open a part window due to unforseen circumstances.",
  259.         
  260.         /* [4] */
  261.         "“SoundEditor” has been asked to remove a frame that does not belong to it, "
  262.         "or an error occurred while removing the frame from internal storage.",
  263.         
  264.         /* [5] */
  265.         "The “Sound Editor” was unable to access the clipboard at this time. Please "
  266.         "wait a moment and try performing the operation again.",
  267.         
  268.         /* [6] */
  269.         "The “Sound Editor” was unable to allocate the memory required to complete the "
  270.         "requested action. Please try again later.",
  271.         
  272.         /* [7] */
  273.         "“Sound Editor” was unable to initialize the Sound Manager properly. You will "
  274.         "be unable to play sounds temporarily.",
  275.         
  276.         /* [8] */
  277.         "“Sound Editor” was unable to initialize the Sound Input Manager properly. "
  278.         "You will be unable to record sounds temporarily.",
  279.         
  280.         /* [9] */
  281.         "“Sound Editor” was previously unable to initialize the Sound Manager "
  282.         "properly.",
  283.         
  284.         /* [10] */
  285.         "“Sound Editor” was previously unable to initialize the Sound Input Manager "
  286.         "properly.",
  287.         
  288.         /* [11] */
  289.         "The “Sound Editor” cannot play the sound at this time because another editor "
  290.         "is using the speaker.",
  291.         
  292.         /* [12] */
  293.         "The “Sound Editor” cannot record a new sound at this time because another "
  294.         "editor is using the microphone.",
  295.         
  296.         /* [13] */
  297.         "The “Sound Editor” was unable to play the sound at this time due to unforseen "
  298.         "circumstances.",
  299.         
  300.         /* [14] */
  301.         "The “Sound Editor” was unable to record a new sound at this time due to "
  302.         "unforseen circumstances.",
  303.         
  304.         /* [15] */
  305.         "The “Sound Editor” was unable to play a sound because there is no sound to "
  306.         "play.",
  307.         
  308.         /* [16] */
  309.         "The “Sound Editor” was unable to record a new sound at this time because "
  310.         "another editor is in its modal state.",
  311.         
  312.         /* [17] */
  313.         "A window that “Sound Editor” created has been deleted without its knowledge. "
  314.         "This may generate a fatal error in the near future. Please close the "
  315.         "document immediately to prevent data loss.",
  316.         
  317.         /* [18] */
  318.         "“Sound Editor” encountered a fatal error while trying to save. Try saving "
  319.         "again or closing the document."
  320.     }
  321. };
  322.  
  323. //-------------------------------------------------------------------------------------
  324. // Finder Related Resources
  325. //-------------------------------------------------------------------------------------
  326.  
  327. // Kind resources affect the text Finder displays in the
  328. // "kind" column and file info dialog. This feature was
  329. // introduced as part of Macintosh Easy Open.
  330.  
  331. resource 'kind' (kBaseResourceID) 
  332. {
  333.     kSoundEditorOSType,
  334.     0, /* region = USA */
  335.     {
  336.         'shlb', "OpenDoc™ editor"
  337.     }
  338. };
  339.     
  340. resource 'kind' (kBaseResourceID+1) 
  341. {
  342.     kSoundViewerOSType,
  343.     0, /* region = USA */
  344.     {
  345.         'shlb', "OpenDoc™ viewer"
  346.     }
  347. };
  348.  
  349. resource 'kind' (kBaseResourceID+2) 
  350. {
  351.     kODShellSignature,
  352.     0, /* region = USA */
  353.     {
  354.         kSoundEditorDocumentOSType,   "SoundEditor 1.0 document",
  355.         kSoundEditorStationeryOSType, "SoundEditor 1.0 stationery"
  356.     }
  357. };
  358.  
  359. // The -16397 string will be displayed by Finder when a user
  360. // tries to open the editor shared library. The string should
  361. // give the user a little detail about the part's capabilities
  362. // and enough information to install the part in the correct location.
  363.  
  364. resource 'STR ' (-16397, purgeable) 
  365. {
  366.     "OpenDoc editor\n"
  367.     "\n"
  368.     "“Sound Editor” records and plays sampled sounds. To work properly, it "
  369.     "should be placed in the Editors folder. To create a new document, open "
  370.     "a stationery pad."
  371. };
  372.  
  373. //------------------------------------------------------------------------------
  374. // Dialog Resources
  375. //------------------------------------------------------------------------------
  376.  
  377. resource 'DLOG' (kAboutBoxID, "SoundEditor About Box") 
  378. {
  379.     { 0, 0, 250, 350 },
  380.     dBoxProc,
  381.     invisible,
  382.     goAway,
  383.     0x0,
  384.     kAboutBoxID,
  385.     "",
  386.     alertPositionMainScreen
  387. };
  388.  
  389. resource 'DITL' (kAboutBoxID) 
  390. {
  391.     {
  392.         /* [1] */
  393.         {222, 270, 242, 338}, Button { enabled, "OK" },
  394.         /* [2] */
  395.         {24, 25, 56, 57}, Icon { disabled, kEditorIconPicture },
  396.         /* [3] */
  397.         {13, 68, 237, 69}, Button { disabled, "" },
  398.         /* [4] */
  399.         {64, 13, 65, 337}, Button { disabled, "" },
  400.         /* [5] */
  401.         {46, 76, 62, 172}, StaticText { disabled, "SoundEditor" },
  402.         /* [6] */
  403.         {76, 76, 116, 304}, StaticText { disabled,
  404.             "SoundEditor is a simple Macintosh™ sound editor sample. "
  405.             "It illustrates some of the basic content handling functionality "
  406.             "which part editors provide." },
  407.         /* [7] */
  408.         {124, 76, 162, 304}, StaticText { disabled,
  409.             "Written by Steve Smith, Andrey Dolgachev, and Troy Gaul "
  410.             "with support from the OpenDoc™ Engineering team." },
  411.         /* [8] */
  412.         {172, 76, 200, 300}, StaticText { disabled,
  413.             "Copyright© 1994,1995 by Apple Computer, "
  414.             "Inc. All Rights Reserved." },
  415.         /* [9] */
  416.         {51, 272, 64, 340}, StaticText { disabled,
  417.             "Version "shortVersionStr },
  418.         /* [10] */
  419.         {0,0,0,0}, HelpItem {
  420.             disabled,
  421.             HMScanhdlg
  422.             {kAboutBoxID}
  423.         }
  424.     }
  425. };
  426.  
  427. resource 'dctb' (kAboutBoxID) 
  428. {
  429.     /* dialog background fill color */
  430.     {    /* array ColorSpec: 5 elements */
  431.         /* [1] */
  432.         wContentColor, 59127, 59127, 59127,
  433.         /* [2] */
  434.         wFrameColor, 0, 0, 0,
  435.         /* [3] */
  436.         wTextColor, 0, 0, 0,
  437.         /* [4] */
  438.         wHiliteColor, 0, 0, 0,
  439.         /* [5] */
  440.         wTitleBarColor, 65535, 65535, 65535
  441.     }
  442. };
  443.  
  444. data 'ictb' (kAboutBoxID) {
  445.     /* dialog control text styling */
  446.     $"0000000000000000002800240028"
  447.     $"004C80070074800700888007009C"
  448.     $"800700B0800700C4000000000000"
  449.     $"000300007FFF7FFF7FFF0001FFFF"
  450.     $"FFFFFFFF00020000000000000003"
  451.     $"FFFFFFFFFFFF0000000000000003"
  452.     $"00007FFF7FFF7FFF0001FFFFFFFF"
  453.     $"FFFF00020000000000000003FFFF"
  454.     $"FFFFFFFF00D80100000E00000000"
  455.     $"0000FFFFFFFFFFFF000000E10000"
  456.     $"0009000000000000FFFFFFFFFFFF"
  457.     $"000000E800000009000000000000"
  458.     $"FFFFFFFFFFFF000000EF00000009"
  459.     $"000000000000FFFFFFFFFFFF0000"
  460.     $"00F600000009000000000000FFFF"
  461.     $"FFFFFFFF00000850616C6174696E"
  462.     $"6F0647656E6576610647656E6576"
  463.     $"610647656E6576610647656E6576"
  464.     $"61"
  465. };
  466.  
  467. resource 'DLOG' (kErrorBoxID, "SoundEditor Error Box") 
  468. {
  469.     {57, 46, 244, 374},
  470.     dBoxProc,
  471.     invisible,
  472.     goAway,
  473.     0x0,
  474.     kErrorBoxID,
  475.     "",
  476.     alertPositionParentWindowScreen
  477. };
  478.  
  479. resource 'DITL' (kErrorBoxID) 
  480. {
  481.     {    /* array DITLarray: 5 elements */
  482.         /* [1] */
  483.         {153, 256, 173, 314}, Button { enabled, "OK" },
  484.         /* [2] */
  485.         {153, 185, 173, 243}, Button { enabled, "Cancel" },
  486.         /* [3] */
  487.         {11, 70, 124, 317}, StaticText { disabled,
  488.             "<< Use this for errors in the Editor, su"
  489.             "ch as out of memory, unable to acquire s"
  490.             "ome system resource, etc.>> \nUser errors"
  491.             " use a standard alert appearance. See DI"
  492.             "TL 129.>>" },
  493.         /* [4] */
  494.         {11, 19, 43, 51}, Picture { disabled, kEditorIconPicture },
  495.         /* [5] */
  496.         {149, 252, 177, 318}, UserItem { disabled },
  497.         /* [6] */
  498.         {0,0,0,0}, HelpItem {
  499.             disabled,
  500.             HMScanhdlg
  501.             {kErrorBoxID}
  502.         }
  503.     }
  504. };
  505.  
  506. resource 'DLOG' (kSettingsDialogID, "Settings Dialog") 
  507. {
  508.     {79, 101, 217, 303},
  509.     dBoxProc,
  510.     invisible,
  511.     noGoAway,
  512.     0x0,
  513.     kSettingsDialogID,
  514.     "Settings",
  515.     alertPositionParentWindowScreen
  516. };
  517.  
  518. resource 'DITL' (kSettingsDialogID) 
  519. {
  520.     {
  521.         /* [1] */
  522.         {105, 131, 125, 189},
  523.         Button {
  524.             enabled,
  525.             "OK"
  526.         },
  527.         /* [2] */
  528.         {105, 60, 125, 118},
  529.         Button {
  530.             enabled,
  531.             "Cancel"
  532.         },
  533.         /* [3] */
  534.         {10, 20, 42, 52},
  535.         Picture {
  536.             disabled,
  537.             kBaseResourceID
  538.         },
  539.         /* [4] */
  540.         {20, 69, 33, 181},
  541.         StaticText {
  542.             disabled,
  543.             "Recording Quality:"
  544.         },
  545.         /* [5] */
  546.         {37, 70, 55, 176},
  547.         Control {
  548.             enabled,
  549.             kGoodControl
  550.         },
  551.         /* [6] */
  552.         {55, 70, 73, 176},
  553.         Control {
  554.             enabled,
  555.             kBetterControl
  556.         },
  557.         /* [7] */
  558.         {73, 70, 91, 176},
  559.         Control {
  560.             enabled,
  561.             kBestControl
  562.         },
  563.         /* [8] */
  564.         {102, 128, 128, 192},
  565.         UserItem {
  566.             disabled
  567.         },
  568.         /* [9] */
  569.         {0,0,0,0}, HelpItem {
  570.             disabled,
  571.             HMScanhdlg
  572.             {kSettingsDialogID}
  573.         }
  574.     }
  575. };
  576.  
  577. resource 'dctb' (kSettingsDialogID) 
  578. {
  579.     {    /* array ColorSpec: 5 elements */
  580.         /* [1] */
  581.         wContentColor, 65535, 65535, 65535,
  582.         /* [2] */
  583.         wFrameColor, 0, 0, 0,
  584.         /* [3] */
  585.         wTextColor, 0, 0, 0,
  586.         /* [4] */
  587.         wHiliteColor, 0, 0, 0,
  588.         /* [5] */
  589.         wTitleBarColor, 65535, 65535, 65535
  590.     }
  591. };
  592.  
  593. data 'ictb' (kSettingsDialogID) 
  594. {
  595.     $"0000 0000 0000 0000 0000 0000 0002 0020"
  596.     $"0000 0000 0000 0000 0000 0000 0000 0000"
  597.     $"0001 0100 000A 0000 0000 0000 0000 0000"
  598.     $"0000 0000"
  599. };
  600.  
  601. data 'finf' (kDialogFontInfoID, "Dialog Font Info") 
  602. {
  603.     $"0001 0003 0000 000A"
  604. };
  605.  
  606. resource 'CNTL' (kGoodControl, "Good") 
  607. {
  608.     {37, 70, 55, 176},
  609.     0,
  610.     visible,
  611.     1,
  612.     0,
  613.     radioButProcUseWFont,
  614.     0,
  615.     "Good"
  616. };
  617.  
  618. resource 'CNTL' (kBetterControl, "Better") 
  619. {
  620.     {55, 70, 73, 176},
  621.     0,
  622.     visible,
  623.     1,
  624.     0,
  625.     radioButProcUseWFont,
  626.     0,
  627.     "Better"
  628. };
  629.  
  630. resource 'CNTL' (kBestControl, "Best") 
  631. {
  632.     {73, 70, 91, 176},
  633.     0,
  634.     visible,
  635.     1,
  636.     0,
  637.     radioButProcUseWFont,
  638.     0,
  639.     "Best"
  640. };
  641.  
  642. //------------------------------------------------------------------------------
  643. // Menu Resource
  644. //------------------------------------------------------------------------------
  645.  
  646. resource 'MENU' (kSoundMenuID) 
  647. {
  648.     kSoundMenuID,
  649.     textMenuProc,
  650.     0x7FFFFFEF,
  651.     enabled,
  652.     "Sound",
  653.     {
  654.         "Play", noIcon, noKey, noMark, plain,
  655.         "Pause", noIcon, noKey, noMark, plain,
  656.         "Stop", noIcon, noKey, noMark, plain,
  657.         "Record", noIcon, noKey, noMark, plain,
  658.         "-", noIcon, noKey, noMark, plain,
  659.         "Settings…", noIcon, noKey, noMark, plain
  660.     }
  661. };
  662.  
  663. //------------------------------------------------------------------------------
  664. // Finder Bundle Information
  665. //------------------------------------------------------------------------------
  666.  
  667. resource 'BNDL' (kDocumentBundle, "Document BNDL") 
  668. {
  669.     kODShellSignature,
  670.     0,
  671.     {    /* array TypeArray: 2 elements */
  672.         /* [1] */
  673.         'FREF',
  674.         {    /* array IDArray: 2 elements */
  675.             /* [1] */
  676.             0, kDocumentFREF,
  677.             /* [2] */
  678.             1, kStationeryFREF
  679.         },
  680.         /* [2] */
  681.         'ICN#',
  682.         {    /* array IDArray: 2 elements */
  683.             /* [1] */
  684.             0, kDocumentIcons,
  685.             /* [2] */
  686.             1, kStationeryIcons
  687.         }
  688.     }
  689. };
  690.  
  691. resource 'BNDL' (kEditorBundle, "Editor BNDL") 
  692. {
  693.     kSoundEditorOSType,
  694.     0,
  695.     {    /* array TypeArray: 2 elements */
  696.         /* [1] */
  697.         'FREF',
  698.         {    /* array IDArray: 1 elements */
  699.             /* [1] */
  700.             0, kEditorFREF
  701.         },
  702.         /* [2] */
  703.         'ICN#',
  704.         {    /* array IDArray: 1 elements */
  705.             /* [1] */
  706.             0, kEditorIcons
  707.         }
  708.     }
  709. };
  710.  
  711. resource 'BNDL' (kViewerBundle, "Viewer BNDL") 
  712. {
  713.     kSoundViewerOSType,
  714.     0,
  715.     {    /* array TypeArray: 2 elements */
  716.         /* [1] */
  717.         'FREF',
  718.         {    /* array IDArray: 1 elements */
  719.             /* [1] */
  720.             0, kViewerFREF
  721.         },
  722.         /* [2] */
  723.         'ICN#',
  724.         {    /* array IDArray: 1 elements */
  725.             /* [1] */
  726.             0, kViewerIcons
  727.         }
  728.     }
  729. };
  730.  
  731. resource 'FREF' (kDocumentFREF) 
  732. {
  733.     kSoundEditorDocumentOSType, 0, ""
  734. };
  735.  
  736. resource 'FREF' (kStationeryFREF) 
  737. {
  738.     kSoundEditorStationeryOSType, 1, ""
  739. };
  740.  
  741. resource 'FREF' (kEditorFREF) 
  742. {
  743.     'shlb', 0, ""
  744. };
  745.  
  746. resource 'FREF' (kViewerFREF) 
  747. {
  748.     'shlb', 0, ""
  749. };
  750.  
  751. data kODShellSignature (0, "Owner resource") 
  752. {
  753.     $"00"
  754. };
  755.  
  756. data kSoundViewerOSType (0, "Owner resource") 
  757. {
  758.     $"00"
  759. };
  760.  
  761. data kSoundEditorOSType (0, "Owner resource") 
  762. {
  763.     $"00"
  764. };
  765.